package com.java.star.mall.front.dao.mapper;

import com.java.star.mall.front.pojo.entity.Address;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface AddressMapper {

    /**
     * 新增收货地址
     *
     * @param address 收货地址实体
     */
    void insert(Address address);

    /**
     * 根据是否是默认地址状态查询地址信息
     *
     * @param wxUserId  用户id
     * @param isDefault 是否是默认
     * @return 地址列表
     */
    List<Address> listAddressByDefault(@Param("wxUserId") Integer wxUserId, @Param("isDefault") String isDefault);

    /**
     * 修改收货地址
     *
     * @param address 收货地址实体
     */
    void update(Address address);

    /**
     * 查询用户收货地址列表
     *
     * @param wxUserId 用户id
     * @return 收货地址列表
     */
    List<Address> list(Integer wxUserId);

    /**
     * 根据id查询收货地址
     *
     * @param id 地址id
     * @return 地址信息
     */
    Address findById(Integer id);
}
